package com.vip.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.vip.common.response.Result;
import com.vip.database.dto.role.AddRoleDTO;
import com.vip.database.dto.role.GetRoleDTO;
import com.vip.database.entity.SysRole;

import java.util.List;

/**
 * <p>
 *  角色表 服务类
 * </p>
 *
 * @author LEON
 * @since 2020-03-28
 */
public interface ISysRoleService extends IService<SysRole> {
    /**
     * 添加新角色
     *
     * @param dto
     * @return
     */
    Result<String> addNewRole(AddRoleDTO dto);

    /**
     * 分页获取角色信息
     *
     * @param pageNo
     * @param pageSize
     * @return
     */
    Result<List<GetRoleDTO>> getRoleList(Integer pageNo, Integer pageSize);

    /**
     * 获取角色详情
     *
     * @param roleId
     * @return
     */
    Result<GetRoleDTO> getRoleDetailsByRoleId(String roleId);

    /**
     * 更新角色信息
     *
     * @param roleDto
     * @return
     */
    Result<String> updateRole(AddRoleDTO roleDto);

    /**
     * 为角色授权
     *
     * @param roleId
     * @param type
     * @param permission
     * @return
     */
    Result<String> allotPermission(String roleId, String type, String permission);

    /**
     * 获取所有角色
     *
     * @return
     */
    Result<List<GetRoleDTO>> getAllRoles();
}
